package com.qiaofang.applet.service.property.service;

import com.qiaofang.applet.common.base.BaseService;
import com.qiaofang.applet.service.property.domain.Estate;
import com.qiaofang.applet.service.property.domain.EstateDetail;
import com.qiaofang.applet.service.property.service.dto.*;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;
import java.util.Map;

public interface EstateDetailService extends BaseService<EstateDetail, String> {

    /**
     * 后台管理系统获取小区编辑页信息
     * @param estateUniqueUuid
     * @return
     */
    EstateEditDto getEstateEditDetail(String estateUniqueUuid);

    /**
     * 后台管理系统修改小区信息
     * @param estateEditDto
     */
    void saveEstateDetail(EstateEditDto estateEditDto);

    /**
     * 客户端获取小区详情
     * @param estateUniqueUuid
     * @return
     */
    EstateShowDto getEstateShowDto(String estateUniqueUuid, String version);

    /**
     * 小程序使用 业主点评列表
     * @param estateUniqueUuid
     * @return
     */
    List<EstateCommentDto> getEstateComment(String estateUniqueUuid);

    /**
     * 后台使用 业主点评列表
     * @param estateUniqueUuid
     * @return
     */
    List<EstateCommentAdminDto> listEstateComment(String estateUniqueUuid);

    /***
     * 后台管理添加评论
     * @param estateCommentAddDto
     */
    void addEstateComment(EstateCommentAddDto estateCommentAddDto);

    /**
     * 删除评论
     * @param deleteDto
     */
    void deleteEstateComment(EstateCommentDeleteDto deleteDto);

    /**
     * 查询数量
     * @param estateUniqueUuid
     * @return
     */
    EstateDetail getEstateDetailByUuid(String estateUniqueUuid);
}